package cn.kdyzm.util.convert;

import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * @author kdyzm
 * @date 2021/12/27
 */
public class ConvertUtil {

    /**
     * 转换List
     *
     * @param i      入参
     * @param mapper 转换函数
     * @param <T>    入参泛型
     * @param <R>    出参泛型
     * @return 返回值列表
     */
    public static <T, R> List<R> transfer(List<T> i, Function<? super T, ? extends R> mapper) {
        if (CollectionUtils.isEmpty(i)) {
            return new ArrayList<>();
        }
        return i.stream().map(mapper).collect(Collectors.toList());
    }
}
